package org.ponly.cta4j.drawing.text;

import java.awt.image.BufferedImage;
import java.text.AttributedString;

/**
 * 文字笔刷.
 * <p>
 * 实现在画布上绘制样式化的文本信息
 * </p>
 *
 * @author vacoor
 * @since 1.0
 */
public interface TextBrush {

    /**
     * @return 可以绘制的最大文本长度
     */
    int getMaxTextLength();

    /**
     * @return 可以绘制的最小文本长度
     */
    int getMinTextLength();

    /**
     * 绘制文本内容在画布上.
     *
     * @param canvas           画布
     * @param attributedText 样式化文本
     * @return 会绘制后的内容
     */
    BufferedImage draw(BufferedImage canvas, AttributedString attributedText);

}
